package com.taotao.slink.service;

import com.taotao.common.Pagination;
import com.taotao.slink.model.dto.Link;
import com.taotao.sys.model.vo.sl.ShortLinkPageParam;
import com.taotao.sys.model.vo.sl.ShortLinkPageVO;

import java.util.Set;

/**
 * <p>
 * 短链接服务接口
 * </p>
 *
 * @author youbeiwuhuan
 * @version V1.0
 * @since 2023-06-26 14:36:20
 */
public interface ShortLinkService {

    /**
     * 添加短链接
     *
     * @param link
     * @param userId
     * @return
     */
    String addShortLink(Link link, Long userId);


    /**
     * 删除短链接
     *
     * @param ids
     * @param userId
     */
    void delShortLink(Set<Long> ids, Long userId);

    /**
     * 加载所有的短链接
     */
    void loadAllShortLink();

    /**
     * 获取链接地址
     *
     * @param linkCode
     * @return
     */
    String getSrcLink(String linkCode);


    /**
     * 分页列表
     *
     * @param param
     * @return
     */
    Pagination<ShortLinkPageVO> pageList(ShortLinkPageParam param);
}
